package com.child.java.pojo;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

/**
 * 在线用户列表信息实体类
 * @author Jan
 *
 */
public class OnLineBean {
	
	//所有登录用户的集合（key为ip，value为用户名）
	private Map<String, String> userMap = new HashMap<String, String>();

	//所有未登录用户ip的集合
	private Set<String> visitorSet = new HashSet<String>();
	
	public Map<String, String> getUserMap() {
		return userMap;
	}
	
	public Set<String> getVisitorSet() {
		return visitorSet;
	}
	
	/*
	 * 用户登录后从visitorSet集合中添加到userMap集合
	 */
	public void addUser(String ip, String username){
		userMap.put(ip, username);
		visitorSet.remove(ip);
	}
	
	/*
	 * 打开网站时
	 */
	public void addVisitor(String ip){
		visitorSet.add(ip);
	}
	
	public void removeUser(String ip, boolean online){
		//已经登录的
		userMap.remove(ip);
		if(online){
			//登录的：注销掉了
			visitorSet.add(ip);
		}else{
			//登录的：关闭浏览器了
			visitorSet.remove(ip);
		}
	}
	
	/*
	 * 获得登录用户数量
	 */
	public int getUserCount(){
		return userMap.size();
	}
	
	/*
	 * 获得在线人数总数量（包括游客和用户）
	 */
	public int getTotalCount(){
		return visitorSet.size() + userMap.size();
	}
	
}
